# -*- coding: utf-8 -*-
import wx
    
def load_List_Ctrl(self, lista, list_ctrl, col):
    '''
    carrega os dados da lista para o interface
    '''
    x = 0
    count = 0
    list_ctrl.DeleteAllItems()
    for lin in lista:
        #mostra 5 000 dados na interface, para que sejam carregados todos os
        #dados basta remover o contador
        if count == 5000:
            break
        #cria um string item na list_ctrl
        
        if x != len(lista):
            index = list_ctrl.InsertStringItem(x, '')
            pass
        x += 1
        
        for i in range(len(lin)):
            #preenche o item da lista_ctrl com os valores da lista, caso seja
            #do tipo unicode guarda de maneira diferente
            if type(lin[i]) is not unicode:    
                list_ctrl.SetStringItem(index,i, str(lin[i]))
            else:
                list_ctrl.SetStringItem(index,i, (lin[i]).encode('utf-8'))
                pass
            pass
            
        count += 1
        pass
    pass

def dialog_Html(self):
    '''
    Abre uma dialog box a pedir ao utilizador para inserir um endereço HTLM
    '''
    dlg = wx.TextEntryDialog(self, 'Escreva o endereço HTLM','Text Entry')
    if dlg.ShowModal() == wx.ID_OK:
        self.SetStatusText('You entered: %s\n' % dlg.GetValue())
        strHtml = dlg.GetValue()
    dlg.Destroy()
    return strHtml

def create_Col_Html(self, list_ctrl):
    '''
    cria as colunas da lista do interface para as Tags HTML
    '''
    #apaga todas as colunas
    list_ctrl.DeleteAllColumns()
    #criação das colunas
    list_ctrl.InsertColumn(0, "Tags");
    list_ctrl.SetColumnWidth(0,100);
    list_ctrl.InsertColumn(1, "Nº de Vezes");
    list_ctrl.SetColumnWidth(1,100);
    pass

def messageList(self, list_ctrl , msg):
    '''
    Menssagens do sistema para o utilizador
    '''
    #apaga todas as colunas
    list_ctrl.DeleteAllColumns()
    #criação das colunas
    list_ctrl.InsertColumn(0, "{0}".format(msg));
    list_ctrl.SetColumnWidth(0,500);
    pass    

def create_Col_Static1(self, list_ctrl):
    '''
    cria as colunas da lista do interface para a estatistica 1
    '''
    #apaga todas as colunas
    list_ctrl.DeleteAllColumns()
    #criação das colunas
    list_ctrl.InsertColumn(0, "Nome de Estabelecimento");
    list_ctrl.SetColumnWidth(0,300);
    list_ctrl.InsertColumn(1, "Ano");
    list_ctrl.SetColumnWidth(1,50);
    list_ctrl.InsertColumn(2, "Nº de Professores");
    list_ctrl.SetColumnWidth(2,150);
    pass

def create_Col_Static2(self, list_ctrl):
    '''
    cria as colunas da lista do interface para a estatistica 2
    '''
    #apaga todas as colunas
    list_ctrl.DeleteAllColumns()
    #criação das colunas
    list_ctrl.InsertColumn(0, "Categoria");
    list_ctrl.SetColumnWidth(0,120);
    list_ctrl.InsertColumn(1, "Nome de Estabelecimento");
    list_ctrl.SetColumnWidth(1,200);
    list_ctrl.InsertColumn(2, "Ano");
    list_ctrl.SetColumnWidth(2,50);
    list_ctrl.InsertColumn(3, "Nº de Professores");
    list_ctrl.SetColumnWidth(3,130);
    pass

def create_Col_Static3(self, list_ctrl):
    '''
    cria as colunas da lista do interface para a estatistica 3
    '''
    #apaga todas as colunas
    list_ctrl.DeleteAllColumns()
    #criação das colunas
    list_ctrl.InsertColumn(0, "Grau");
    list_ctrl.SetColumnWidth(0,120);
    list_ctrl.InsertColumn(1, "Nome de Estabelecimento");
    list_ctrl.SetColumnWidth(1,200);
    list_ctrl.InsertColumn(2, "Ano");
    list_ctrl.SetColumnWidth(2,50);
    list_ctrl.InsertColumn(3, "Nº de Professores");
    list_ctrl.SetColumnWidth(3,130);
    pass
